Handwriting recognition user interfaces (HWRUIs) for computing devices, e.g., personal digital assistants (PDAs) or handheld computers, allow the user to enter handwritten strokes, for example, via a handwriting stylus or pen, and then facilitate correction of recognition errors. HWRUIs typically transfer recognized characters directly to the user application (for example email or SMS) as would happen with a keyboard interface. Typical HWRUI systems try to optimize certain aspects of this interaction, but for many systems the engineering emphasis has been on recognition accuracy and not on the entire user experience.
One problem with known HWRUIs is that users cannot easily review and confirm that their output is correct, and cannot easily correct errors when they occur. Typically, the output appears in an application window that is far from the writing area, so that the user must divert his attention back and forth between the writing area and the distant application window. In order to make a correction, several steps are typically required. First, the user must move the stylus from the writing area to the application window and then select the character or word that contains the error. Unfortunately, proportional fonts often make the process of selecting a narrow character difficult. Then the user must re-write the character in order to replace the error with a correct result, which is cumbersome and time consuming. Further, the user must wait for the recognizer to return the corrected result to check if the result is in fact correct, and if not, repeat the process.
Typical handwriting recognition systems do not allow users to correct errors as they happen or “on the fly”. Correcting errors as they happen is natural for many users especially users who work with current word processing programs that allow easy correction when typing using a keyboard. The user can see the output in real time, and correct the output immediately. The user can either confirm the accuracy of the output by seeing the keys they strike, or the user may be a touch typist who is able to watch the output at the same time she enters the input. By contrast, as few writers write legibly and therefore need to watch the recognized text to check and correct their input, it is inconvenient to have the output appear both distant from the writing area and in a continuously changing location. Current HWRUIs do nothing to ameliorate this problem.
Another problem with known HWRUIs is that writers must either enter each character (or word) into a separate box or must create distinctly wide spaces between characters and words to ensure that the recognizer correctly segments these character or word units. If a separate box is used, the user typically must move back and forth between different boxes in order to write. If a single box is used, the user must write sequential characters in the same location. When a single box is used the user must wait for the system to process and clear the writing before entering new text. Further drawbacks of current systems include problems related to putting spaces between characters or words. Writing with natural spacing often results in merge errors, e.g., the recognizer merges characters together. Further, exaggerating spacing to compensate for merge errors results in an unnatural and uncomfortably wide spacing style that also wastes space, bringing the writer to the end of the writing space prematurely. As a result of entering fewer characters on a single line, the efficiency of the recognition system is reduced since a new line must be started more frequently. Starting new lines not only means additional stylus relocation, but also generally results in disrupting the user's writing.
Therefore, a need exists for a handwriting recognizing system and interface which allows a user to readily view the recognized entered text and make corrections with minimum strokes and shifting of a stylus. It would also be desirable to provide a system and interface, which improves the ease of character and word spacing while minimizing the space used.